Data storage systems contain components that may take on various state values at any given instant in time. For example, a data storage system contains a disk within a RAID array that may be online or offline. The reason for the disk being offline may be due to failure or disconnection.
Because data storage systems typically contain many such components, tracking the state of the components may benefit from the assistance of management software such as EMC® Unisphere™. Such management software provides communication between the drivers of the components of the data storage system and a graphical user interface (GUI) of the management software that displays the states of the components to a storage administrator. For example, suppose that the state of a disk within the RAID array changes from being online to being offline. The driver for the disk would then send a notification to a computer running the management software in response to the change so that the disk administrator may learn about the state change.
Management software typically contains several layers as a result of its architecture. The computer running the management software passes messages such a state change indications from the component drivers to the Unisphere GUI up through various software layers.
In order to ensure that a large number of simultaneous state change indications are handled properly, conventional state change indication systems deliver asynchronous notifications of state changes of components of a data storage system by queuing indications of notifications in RAM for delivery through the various layers of storage management software. In this way, the computer may pass the notifications to the GUI in a desired order.